Design of a Concurrent and Distributed Language
نویسندگان
چکیده
This paper presents a new dialect of Scheme aimed towards con-currency and distribution. It ooers a few primitives, including rst-class continuations , with very simple semantics. Numerous examples are given showing how to program the classical concurrent control operators such as future, pcall and either. The implementation is sketched and presented along the lines of a metacircular interpreter. This paper presents the idiom of Icsla 1 , a language belonging to the Lisp family and more precisely a descendant of Scheme. This dialect has been designed with respect to the following main objectives: { It should have a very simple and understandable semantics, with few but powerful and unrestrictively combinable concepts; { It should ooer concurrency, distribution and some other modern features such as sophisticated control features while not sacriicing the variety of styles traditionally ooered by Lisp. These goals are rather general and deserve further comment. Following Scheme, the semantics must be kept small and clean; this in turn favors correct implementation , precise documentation and eases learning or teaching. The concepts must be understandable and simple, i.e. providing only one functionality since composition is already ooered at various levels by procedures, macros or modules. Existing concurrent features, proved useful in other languages, must be programmable|this demonstrates the power of our concepts as well as providing implementations that can be taught. Having no current user community to protect, some concepts have been freely revised, such as continuations, objects and equality. Currently the idiom lacks an abundance of features, since any feature that can be delivered by a library has been postponed. Finally we view our resulting idiom as a proto-language on top of which other languages can be built such as Scheme, EuLisp or CLOS. 1 Icsla (standing for interpretation, compilation and semantics of applicative languages) is the name of a joint project between Ecole Polytechnique and INRIA-Rocquencourt, hence the name of the designed language.
منابع مشابه
Effects of Concurrent Group Dynamic Assessment on Iranian EFL Learners’ Pragmatic Competence: A Case of Requests and Refusals
Pragmatic competence is one of the most important components of successful communication; also, it is the most difficult aspect of SLA. This study aimed to explore the effects of concurrent group dynamic assessment (G-DA) on Iranian EFL learners’ learning of requests and refusals, following a mixed method design. In the experimental part of the study, 2 intact classes were homogenized by a pret...
متن کاملThe design philosophy of distributed programming systems : the Mozart experience
Distributed programming is usually considered both difficult and inherently different from concurrent centralized programming. It is thought that the distributed programming systems that we ultimately deploy, in the future, when we’ve worked out all the details, will require a very different programming model and will even need to be evaluated by new criteria. The Mozart Programming System, des...
متن کاملConcurrent METATEM Processes – A Language for Distributed AI
In this paper, we introduce Concurrent METATEM Processes, a high-level language for modeling distributedand concurrent systems. This language represents an operational model for a variety of METATEM, which is a framework for executable temporal logics. We argue that the combination of executable temporal logic, meta-level capabilities, and concurrent operational model make the language suitable...
متن کاملConcurrent Object-Oriented Programming for Distributed Real-time Systems
Concurrent object-oriented programming is becoming an important programming paradigm in real-time system implementations, because it can e ectively integrate object-oriented programming, concurrent processing, and distributed processing. As run-time e ciency and program maintainability are strongly required in real-time systems, elaborated tuning is required both in application system design an...
متن کاملParallel C#: The Usage of Chords and Higher-order Functions in the Design of Parallel Programming Languages
In this paper we introduce new parallel programming language Parallel C#, the main feature of which is the combination of chords and higher-order functions in one language. This language extends the standard syntax of C# language for the parallel programming needs and simplifies the task of writing complex multithreaded and distributed applications. We describe the design of the language and gi...
متن کاملReasoning-conscious Meta-object Design of a Re Blockinective Concurrent Language
Computational re ection gives programming languages high exibility, which is useful for parallel/distributed programming. On the other hand, its interpreter based execution model makes e cient implementation di cult. Especially, meta-objects in concurrent languages are described with explicit state transition, which makes program reasoning|such as partial evaluation|di cult. In this paper, we p...
متن کامل